package com.dd.cloud.user.service.chknowl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.user.entity.chknowl.ChknowlFoodModel;
import com.dd.cloud.user.req.chknowl.FoodModelCreateReq;
import com.dd.cloud.user.req.chknowl.FoodModelQueryReq;
import com.dd.cloud.user.req.chknowl.FoodModelUpdateReq;
import com.dd.cloud.user.res.chknowl.ChUserSearchRes;
import com.dd.cloud.user.res.chknowl.ChknowlFoodModelPageRes;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 * 药食同源基础表 服务类
 * </p>
 *
 * @author czg
 * @since 2022-07-04
 */
public interface IChknowlFoodModelService extends IService<ChknowlFoodModel> {

    /**
     * 查询药食同源药材列表,多条件分页查询
     *
     * @param req 多条件
     * @return
     */
    IPage<ChknowlFoodModelPageRes> queryFoodModelTerms(FoodModelQueryReq req);

    /**
     * 查询药食同源药材详情
     *
     * @param id 编号
     * @return
     */
    ChknowlFoodModelPageRes queryFoodModel(Integer id);

    /**
     * 添加药食同源药材信息
     *
     * @param req 药食同源药材信息
     * @return
     */
    void addFoodModel(FoodModelCreateReq req);

    /**
     * 修改药食同源药材信息
     *
     * @param req 药食同源药材信息
     * @return
     */
    void updateFoodModel(FoodModelUpdateReq req);

    /**
     * 修改药食同源药材信息状态
     *
     * @param id     信息id
     * @param status 状态
     */
    void updateFoodModelStatus(Integer id, Integer status);

    /**
     * 批量导入药食同源数据
     *
     * @param file excel文件
     */
    void addBatchFoodModel(MultipartFile file);

    /**
     * 查询 食材,中成药,中药材
     *
     * @return
     */
    ChUserSearchRes getUserSearchRes(String keyword);
}
